import java.util.Scanner;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 23735
 * Date: 2022-12-05
 * Time: 16:57
 */
public class Solution {

    /**
     *得到next数组
     * @param subStr:字串
     * @param next:next数组
     */
    public static void getNext(String subStr,int[] next){
        int length=subStr.length();
        if(length==0){
            return ;
        }
        //next的前两个是固定的-1 和 0
        next[0]=-1;
        if(length==1){//只有一个元素
            return;
        }
        next[1]=0;
        int i=2;//i直接从2开始,因为前两个已经赋值过了
        int k=0;//k从0开始
        while(i<length){//这里不能是for循环,yin
            //因为next[0]==-1,所以k有可能回退到-1
            //next[i]由前一个确定
            if(k==-1||subStr.charAt(i-1)==subStr.charAt(k)){
                next[i]=k+1;//注意不能放在k++的后面
                k++;
                i++;
            }else{
                //k回退
                k=next[k];
            }
        }
    }

     /**
     * next数组优化为nextVal数组,解决那种需要连续一直回退的情况,一下回退到底
     * @param subStr 字串
     * @param next next数组
     * @return 优化的nextVal数组
     */
    public static int[] getNextVal(String subStr,int[] next){
        int length=next.length;
        int[] nextVal=new int[length];
        nextVal[0]=next[0];
        for(int i=1;i<length;i++){
            if(subStr.charAt(i)==subStr.charAt(next[i])){
                nextVal[i]=next[next[i]];
            }
        }
        return nextVal;
    }


    /**
     * KMP算法
     * @param str: 字串
     * @param subStr:主串
     * @param pos:从pos位置开始匹配
     * @return:返回匹配到的第一个下标
     */
    public static int KMP(String str,String subStr,int pos) {
        int strLength=str.length();
        int subLength=subStr.length();
        int[] next=new int[subLength];
        getNext(subStr,next);
        //判断参数是否合法
        if(strLength==0||subLength==0){
            return -1;
        }
        if(pos<0||pos>=strLength){
            return -1;
        }
        int i=pos;//i从pos位置开始匹配
        int j=0;//j是从0开始
        while(i<strLength&&j<subLength){
            //因为next[0]==-1,所以j有可能回退到-1
            if(j==-1||str.charAt(i)==subStr.charAt(j)){
                i++;
                j++;
            }else{
                //i不用管
                //j回退到指定的位置
                j=next[j];
            }
        }
        if(j>=subLength){
            return i-j;//i,j最后都遍历到最后一个位置的下一个位置
        }
        return -1;
    }
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        String str=scanner.next();
        String subStr=scanner.next();
        System.out.println(KMP(str,subStr,0)+1);
    }
}
